package com.own.business.exam.entity.map;


import com.own.business.exam.entity.po.ExamRule;
import com.own.component.common.base.entity.BaseMap;
import com.own.constant.ConstantBeanSuffix;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * ExamRuleMapVo
 *
 * @author 陈学礼 （你是一段成熟的代码，要学会自己改bug）
 * @version 4.0.0
 * @date 2021/05/18 14:43:47
 * @since 4.0.0
 */
@ApiModel("考试规则表" + ConstantBeanSuffix.MAP_VO)
@Getter
@Setter
@ToString
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
public class ExamRuleMapVo extends BaseMap<ExamRule> {

    @ApiModelProperty("考试id")
    private Long examId;

    @ApiModelProperty("规则名称")
    private String name;

    @ApiModelProperty("规则类型 1=指定试卷（所有使用这个规则的考试都会使用指定的试卷进行答题，指定的试卷可以是多份） 2=随机试卷（试卷内容根据规则全随机） 3=弱项试卷（会根据个人的错题内容进行按筛选符合的试卷）")
    private Integer type;

    @ApiModelProperty("是否指定账号 1=指定 0=不指定")
    private Integer isAssignAccount;

    @ApiModelProperty("是否指定人数 1=指定 0=不指定")
    private Integer isAssignNumber;

    @ApiModelProperty("考试最多容纳的人数 0表示不做限制")
    private Integer assignNumber;

    @ApiModelProperty("试卷生成的具体json")
    private Integer content;

    @ApiModelProperty("题目数量")
    private Integer number;

    /**
     * 构造方法
     *
     * @param entity 原对象
     */
    public ExamRuleMapVo(@NonNull ExamRule entity) {
        super(entity);
        this.examId = entity.getFkExamId();
        this.name = entity.getName();
        this.type = entity.getType();
        this.isAssignAccount = entity.getIsAssignAccount();
        this.isAssignNumber = entity.getIsAssignNumber();
        this.assignNumber = entity.getAssignNumber();
        this.content = entity.getContent();
        this.number = entity.getNumber();
    }
}
